perm filename EBIGOP.MF[EU,DEK]1 blob sn#848689 filedate 1987-11-20 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00005 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	% The Computer Modern Math-Extension family (by D. E. Knuth, 1979--1985)
C00004 00003	cmchar "\textstyle integral sign"
C00008 00004	cmchar "\textstyle contour integral sign"
C00013 00005	font_x_height x_height#
C00014 ENDMK
CāŠ—;
% The Computer Modern Math-Extension family (by D. E. Knuth, 1979--1985)
% Modified to have "skewed integrals" only!

font_coding_scheme:="big integrals only";
mode_setup; font_setup;

def t_ = transformed currenttransform enddef;

def bulb(suffix $,$$,$$$) =
 z$$$r=z$$r;
pair trueup; (z5+trueup)t_=z5+(0,y$$r-y$r);
 path_.l:=z$l{x$$r-x$r,0}...{trueup}z$$l;
{{less_tense;
 filldraw path_.l--z$$r{-trueup}...{x$r-x$$r,0}z$r--cycle}}; % link
 path_.r:=z$$$l{-trueup}..z$$$r{trueup}; % near-circle
 filldraw subpath(0,xpart(path_.r intersectiontimes path_.l)) of path_.r
  --z$$r{trueup}..cycle; % bulb
 enddef;

charlist oct"110": oct"111";	% contour integral signs
charlist oct"122": oct"132";	% integral signs
cmchar "\textstyle integral sign";
beginchar(oct"122",12u#,0,100/54dh#);
italcorr 0.5u#; % \TeX\ kerning between upper limit and lower limit
adjust_fit(-1u#,-1u#-ic#); pickup fine.nib;
pos1(dot_size,0); pos2(hair,0); pos3(vair,90); pos4(stem,180);
pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(stem,0);
pos7(vair,-90); pos8(hair,-180); pos9(dot_size,-180);
rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
x5=.5[x4,x6]; x4-x6=1.2u; lft x5r=hround(.5w-.5stem);
top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
transform skewit;
 z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right;
 z3 transformed skewit=z3-u*right;
skewit:=skewit transformed currenttransform;
save currenttransform; transform currenttransform; currenttransform:=skewit;
bulb(3,2,1); bulb(7,8,9);	% bulbs
filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
 ..tension atleast 1 and atleast .8..{z5-z4}z5e;	% upper stem
filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
 ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e;	% lower stem
penlabels(1,2,3,4,5,6,7,8,9); endchar;

cmchar "\displaystyle integral sign";
beginchar(oct"132",18u#,0,200/54dh#);
italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
adjust_fit(-4u#,-4u#-ic#); pickup fine.nib;
numeric bulb_size, max_size;
bulb_size=hround(bold+dw); max_size=hround(bold+2dw);
pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(bold,180);
pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(bold,0);
pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
x5=.5[x4,x6]; x4-x6=4.8u; lft x5r=hround(.5w-.5stem);
top y3r=0; bot y7r=-d;
y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
transform skewit;
 z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right;
 z3 transformed skewit=z3-4u*right;
skewit:=skewit transformed currenttransform;
save currenttransform; transform currenttransform; currenttransform:=skewit;
bulb(3,2,1); bulb(7,8,9);	% bulbs
filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
 ..tension atleast 1 and atleast .8..{z5-z4}z5e;	% upper stem
filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
 ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e;	% lower stem
penlabels(1,2,3,4,5,6,7,8,9); endchar;
cmchar "\textstyle contour integral sign";
beginchar(oct"110",12u#,0,100/54dh#);
begingroup
italcorr 0.5u#; % \TeX\ kerning between upper limit and lower limit
adjust_fit(-u#,-u#-ic#); pickup fine.nib;
pos1(dot_size,0); pos2(hair,0); pos3(vair,90); pos4(stem,180);
pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(stem,0);
pos7(vair,-90); pos8(hair,-180); pos9(dot_size,-180);
rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
x5=.5[x4,x6]; x4-x6=1.2u; lft x5r=hround(.5w-.5stem);
top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
transform skewit;
 z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right;
 z3 transformed skewit=z3-u*right;
skewit:=skewit transformed currenttransform;
save currenttransform; transform currenttransform; currenttransform:=skewit;
bulb(3,2,1); bulb(7,8,9);	% bulbs
filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
 ..tension atleast 1 and atleast .8..{z5-z4}z5e;	% upper stem
filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
 ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e;	% lower stem
endgroup;
pickup rule.nib; autorounded;
draw fullcircle scaled .5w shifted z5;	% contour
penlabels(1,2,3,4,5,6,7,8,9); endchar;

cmchar "\displaystyle contour integral sign";
beginchar(oct"111",18u#,0,200/54dh#);
begingroup
italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
adjust_fit(-4u#,-4u#-ic#); pickup fine.nib;
numeric bulb_size, max_size;
bulb_size=hround(bold+dw); max_size=hround(bold+2dw);
pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(bold,180);
pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(bold,0);
pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
x5=.5[x4,x6]; x4-x6=4.8u; lft x5r=hround(.5w-.5stem);
top y3r=0; bot y7r=-d;
y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
transform skewit;
 z5 transformed skewit=z5; (z5+right) transformed skewit = z5+right;
 z3 transformed skewit=z3-4u*right;
skewit:=skewit transformed currenttransform;
save currenttransform; transform currenttransform; currenttransform:=skewit;
bulb(3,2,1); bulb(7,8,9);	% bulbs
filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
 ..tension atleast 1 and atleast .8..{z5-z4}z5e;	% upper stem
filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
 ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e;	% lower stem
endgroup;
pickup rule.nib; autorounded;
draw fullcircle scaled .5w shifted z5;	% contour
penlabels(1,2,3,4,5,6,7,8,9); endchar;

font_x_height x_height#;
font_quad 18u#+4letter_fit#;
% (The calling file should give the other math extension font parameters.)

bye.